Spread spectrum clocks are widely used in electronic circuits, and are used in consumer, home, and office electronic products such as personal computers (PCs). Spread spectrum circuits operate by ‘spreading’ the frequency of a clock signal over a narrow band of frequencies, to reduce the peak Electromagnetic Interferences (EMI).
In a conventional spread spectrum solution, when a counter value changes overshoot occurs at the beginning of the first pulse of the resulting waveform and undershoot occurs at the bottom of the first pulse, as shown in FIG. 1A. The overshoot and undershoot typically start oscillating outside the desired spread range of the system.
FIG. 1B illustrates a block diagram of a conventional phase-locked loop (PLL) synthesizer. PLL synthesizer 100 includes an M-counter 102, a Phase Frequency Detector (PFD)/Charge Pump (CP) 104, a Loop Filter (LF) 106, a Voltage Controlled Oscillator (VCO) 108, an F-counter 110, and an N-counter 112. The input reference signal FREF is divided by the value in M-counter 102 before feeding into PFD/CP 104. Through the PFD/CP 104, the LF 106, and VCO 108, the frequency is multiplied by the value in the N-counter 112. The output frequency FCPU is taken from the VCO 108 after being divided by the value in F-counter 110. In other words, FCPU is calculated using the following equation:FCPU=(FREF*NCounter)/(MCounter*FCounter)
Conventionally, the M-counter is loaded with values while the value of the N-counter remains the same when performing a feed forward operation; and the N-counter is loaded with values while the value of the M-counter remains the same when performing a feedback operation. In the conventional solution, M- and N-counters are loaded with the spread profile from the ROM. There is no synchronization mechanism between the M- and N-counters. As a result, erroneous pump up and pump down pulses are passed to the charge pump, resulting in the overshoot and undershoot of the VCO clock frequency. In the conventional solution, the PLL loop is never open. The new counter values for M-counter 102, and N-counter 112 are just pushed into the PFD/CP and the PLL must adjust accordingly, resulting in the overshoot and undershoot of FIG. 1A. The letters N, M and F of N-, M, and F-counters are merely variables that represent the values of the feedback divider (e.g., N-counter), and the reference or feed forward dividers (e.g., F-counter and M-counter). These variables are well known by those of ordinary skill in the art.